package main

import "fmt"

func main() {
	//取出的元素数量为：结束位置 - 开始位置；

	arr := []int{1, 2, 3, 4, 5, 6}
	cut1 := arr[1:3]
	fmt.Println(cut1) //输出[2,3] 3-1等于两个
	//取出元素不包含结束位置对应的索引，切片最后一个元素使用 slice[len(slice)-1] 获取；
	fmt.Println(cut1[len(cut1)-1]) //输出3
	//当缺少开始位置时，表示从连续区域开头到结束位置；
	cut2 := arr[:3]
	fmt.Println(cut2) //输出[1,2,3]
	//当缺少结束位置时，表示从开始位置到整个连续区域末尾；
	cut3 := arr[2:]
	fmt.Println(cut3)
	//两者同时缺少时，与切片本身等效；
	cut4 := arr[:]
	fmt.Println(cut4)
	//两者同时为 0 时，等效于空切片，一般用于切片复位。
	cut5 := arr[0:0]
	fmt.Println(cut5)

}
